/**
 * InvoiceModel 业务逻辑
 * @author zhangq
 * @date 2015-03-12
 */
package com.chnbst.bstyun.service;

import java.util.List;
import java.util.Map;

import com.chnbst.bstyun.model.pojo.InvoiceModel;
import com.chnbst.bstyun.model.vo.InvoiceModelVo;

public interface InvoiceModelService {

	/**
	 * 新增发票模板信息
	 * @param invoiceModel 发票模板对象
	 * @return boolean
	 */
	boolean insertInvoiceModel(InvoiceModel invoiceModel);
	
	/**
	 * 删除发票模板信息
	 * @param invoiceModelId 发票模板Id
	 * @return boolean
	 */
	boolean deleteInvoiceModel(Integer invoiceModelId);
	
	/**
     * 根据主键查询发票模板对象
     * @param invoiceModelId 发票模板ID
     * @return 返回invoiceModel对象
     */
	InvoiceModel selectInvoiceModel(Integer invoiceModelId);
	
	/**
	 * 根据条件查询发票模板对象
	 * @param map 
	 * @return 返回invoiceModel对象
	 */
	InvoiceModel selectByCondition(Map<String, Object> map);
	
	/**
     * 根据条件查询 InvoiceModel对象总数
     * @param map
     * @return 返回 InvoiceModel总数
     */
    int selectInvoiceModelCount(Map<String, Object> map);
    
    /**
     * 根据条件 分页 查询 InvoiceModel对象
     * @param map
     * @return 返回 InvoiceModel
     */
    List<InvoiceModelVo> selectInvoiceModelVos(Map<String, Object> map);
    
    /**
     * 查询发票模板Vo
     * @param invoiceModelId 发票模板ID
     * @return 返回invoiceModelVo对象
     */
	InvoiceModelVo selectInvoiceModelVo(Integer invoiceModelId);
}
